An administrator might need to relocate a service (e.g., the serving of files) from one server to another server for a variety of reasons. Examples include system upgrade, migration, and consolidation. Unfortunately, it can be difficult to relocate such services in a manner transparent to the users that access those services. For example, if the administrator terminates the service on the first server and starts it on the second server, while users are still making use of the first server, the user's use of the service will be interrupted.
If authentication is required to access the service, the situation can be further complicated. For example, users will typically be required to authenticate themselves to the first server, and then again to the second server, when the service migrates. One technique for avoiding having users provide credentials multiple times is for an intermediary to store the passwords of all users and supply them as needed on behalf of the users whenever needed. Unfortunately, maintaining a list of all users and all passwords can be cumbersome, present security risks, and in some circumstances may not be possible or feasible.